package com.wuster.service;


import com.wuster.entity.dto.UpdatePassDTO;
import com.wuster.entity.dto.UserLoginDTO;
import com.wuster.entity.dto.UserUpdateDTO;
import com.wuster.entity.po.User;
import com.wuster.entity.vo.UserInfoVO;
import com.wuster.result.Result;
import org.springframework.transaction.annotation.Transactional;

@Transactional(rollbackFor = RuntimeException.class)
public interface UserService {

    /**
     * 用户登录
     * @param userLoginDTO
     * @return
     */
    User login(UserLoginDTO userLoginDTO);

    /**
     * 新增用户
     * @param userLoginDTO
     */
    Result save(UserLoginDTO userLoginDTO);

    /**
     * 核实密码
     * @param checkPass
     */
    Result checkPass(String checkPass);

    /**
     * 修改密码
     * @return
     */
    Result updatePass(UpdatePassDTO updatePassDTO);

    /**
     * 获取个人信息
     * @param uid
     * @return
     */
    UserInfoVO getInfo(Long uid);


    /**
     * 修改个人信息
     * @param userUpdateDTO
     * @return
     */
    void updateInfo(UserUpdateDTO userUpdateDTO);
}
